home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / pcr / pcr4_4.lha / DIST / debugnub / INCLUDE / xr / RDTProcs.h < prev    next >
C/C++ Source or Header  |  1992-03-04  |  5KB  |  216 lines

  1. /* begincopyright
  2.   Copyright (c) 1988 Xerox Corporation. All rights reserved.
  3.   Use and copying of this software and preparation of derivative works based
  4.   upon this software are permitted. Any distribution of this software or
  5.   derivative works must comply with all applicable United States export
  6.   control laws. This software is made available AS IS, and Xerox Corporation
  7.   makes no warranty about the software, its performance or its conformity to
  8.   any specification. Any person obtaining a copy of this software is requested
  9.   to send their name and post office or electronic mail address to:
  10.     PCR Coordinator
  11.     Xerox PARC
  12.     3333 Coyote Hill Rd.
  13.     Palo Alto, CA 94304
  14.   endcopyright */
  15.  
  16. /*
  17.  * RDTProcs.h
  18.  *
  19.  * Demers, February 25, 1992 12:08:46 pm PST
  20.  *
  21.  * RemoteDebugTool procedure descriptions.
  22.  */
  23.  
  24. #ifndef _RDT_PROCS_
  25. #define _RDT_PROCS_
  26.  
  27. #ifndef _CIRIO_NUB_PROTOCOL_
  28. #   include "xr/CirioNubProtocol.h"
  29. #endif
  30.  
  31. #define RDT_PROCS_VERSION 7
  32. /* WARNING -- needs to be updated for non-SPARC-SunOS debuggees */
  33.  
  34. extern int /* -err */
  35. RDT_Null(/* unsigned desiredVersion, unsigned *resultVersionPtr */);
  36. /*
  37.     Set *resultVersionPtr to "best" Cirionub version number exported by nub.
  38. */
  39.  
  40. extern int /* 0, 1, -err */
  41. RDT_WaitSig(/* unsigned timeoutMsec, int *dbStatP */);
  42. /*
  43.     Wait at most timeoutMsec milliseconds for signal from debugee to nub.
  44.     Set *dbStatP to debuggee's dbStat value.
  45.     Return 0 (got sig), 1 (timed out), <0 (err)
  46. */
  47.  
  48. extern int /* -err */
  49. RDT_SetDBStat (/* int dbStat, unsigned timeoutMsec */);
  50. /*
  51.     Set DBStat of debuggee world (all processors).
  52.     Debuggee may refuse; try for no more than the specified time.
  53.     Return 0 (okay), 1 (timeout), <0 (fatal error)
  54. */
  55.  
  56. extern int /* bytesRead or -err */
  57. RDT_GetBytes(/* unsigned addr, unsigned nBytes, char *buf */);
  58. /*
  59.     Read from debuggee address space.
  60. */
  61.  
  62.  
  63. extern int /* bytesWritten or -err */
  64. RDT_PutBytes (/* unsigned addr, unsigned nBytes, char *buf */);
  65. /*
  66.     Write into debuggee address space.
  67. */
  68.  
  69.  
  70. extern int /* bytesRead or -err */
  71. RDT_GetWords16 (/* unsigned addr, int nBytes, unsigned short *buf */); 
  72. /*
  73.     Read from debuggee address space.
  74. */
  75.  
  76.  
  77. extern int /* bytesWritten or -err */
  78. RDT_PutWords16 (/* unsigned addr, unsigned nBytes, unsigned short *buf */); 
  79. /*
  80.     Write into debuggee address space.
  81. */
  82.  
  83. extern int /* bytesRead or -errno */
  84. RDT_GetWords32 (/* unsigned addr, int nBytes, unsigned *buf */); 
  85. /*
  86.     Read from debuggee address space.
  87. */
  88.  
  89.  
  90. extern int /* bytesWritten or -errno */
  91. RDT_PutWords32 (/* unsigned addr, int nBytes, unsigned *buf */); 
  92. /*
  93.     Write into debuggee address space.
  94. */
  95.  
  96.  
  97.  
  98. extern int /* -err */
  99. RDT_GetThread(/* int index, CirioNubThreadData *dataPtr */);
  100. /*
  101.     Get data about thread of specified index.
  102.     Allocate a CirioNubThreadDataRep and store its address in *dataPtr. 
  103.     Return 0 (success), 1 (index out of range), <0 (fatal err)
  104. */
  105.  
  106. extern void
  107. RDT_FreeThreadData(/* CirioNubThreadData *dataPtr */);
  108. /*
  109.     Free the object **dataPtr and its descendants.
  110.     Set *dataPtr = NIL.
  111. */
  112.  
  113. extern int /* -err */
  114. RDT_PCtoInfo (/* unsigned pc, CirioNubPCInfo *infoPtr */);
  115. /*
  116.     Map absolute pc to info.
  117.     Allocate a CirioNubPCInfoRep and store its address in *infoPtr.
  118. */
  119.  
  120. extern void
  121. RDT_FreePCInfo(/* CirioNubPCInfo *infoPtr */);
  122. /*
  123.     Free the object **dataPtr and its descendants.
  124.     Set *dataPtr = NIL.
  125. */
  126.  
  127. extern int /* -err */
  128. RDT_KillWorld ( );
  129. /*
  130.     Kill the debuggee PCR world, cleaning up as much as possible.
  131.     Break the connection after returning.
  132. */
  133.  
  134. extern int /* -err */
  135. RDT_IssueThreadCommand (/*
  136.     int threadIndex,
  137.     bool setFreeze, bool freeze,
  138.     bool setMsg, int msg
  139. */);
  140. /*  
  141.     Set dbFreeze and dbMsg fields of specified thread.
  142.     Return ( success ? 0 : nonzero ).
  143. */
  144.  
  145. extern int /* 0, 1, -err */
  146. RDT_GetDBStat (/* unsigned timeoutMsec, int *indexPtr, int *dbStatPtr */); 
  147. /*
  148.     Return system dbStat value and index of thread currently being
  149.       examined (for dbx).  Index < 0 ==> no thread being examined.
  150.     Wait for the values to change from the initial values, or for timeout.
  151.     Return 0 (okay), 1 (timeout), <0 (fatal err)
  152. */
  153.  
  154.  
  155. /*
  156.  * For the following procs, consult IncrementalLoad.h
  157.  */
  158.  
  159.  
  160. extern int /* -err */
  161. RDT_GetFileEntry(/* unsigned seqNum, CirioNubFileEntry *fileEntryPtr */);
  162. /*
  163.     Get file entry with largest seqNum <= the specified one.
  164.     Allocate a CirioNubFileEntryRep and store its address in *fileEntryPtr.
  165. */
  166.  
  167.  
  168. extern void
  169. RDT_FreeFileEntry(/* CirioNubFileEntry *fileEntryPtr */);
  170. /*
  171.     Free the object **fileEntryPtr and its descendants.
  172.     Set *fileEntryPtr = NIL.
  173. */
  174.  
  175.  
  176. extern int /* -err */
  177. RDT_GetMatchingSymEntryByName(/*
  178.     unsigned symID,
  179.     char *pattern,
  180.     bool caseSensitive,
  181.     unsigned wantedTypes,
  182.     unsigned ignoredClasses,
  183.     int numToSkip,
  184.     CirioNubSymEntry *symEntryPtr
  185. */);
  186. /*
  187.     Like XR_ILGetMatchingSymEntryByName
  188.     Allocates a CirioNubSymEntryRep and stores it in *symEntryPtr.
  189.     If symbol not found, sets *symEntryPtr = NIL.
  190. */
  191.  
  192.  
  193. extern int /* -err */
  194. RDT_GetMatchingSymEntryByValue(/*
  195.     unsigned symID,
  196.     unsigned val,
  197.     unsigned wantedTypes,
  198.     unsigned ignoredClasses,
  199.     int numToSkip,
  200.     CirioNubSymEntry *symEntryPtr
  201. */);
  202. /*
  203.     Like XR_ILGetMatchingSymEntryByValue.
  204. */
  205.  
  206. extern void
  207. RDT_FreeSymEntry(/* CirioNubSymEntry *symEntryPtr */);
  208. /*
  209.     Free the object **symEntryPtr and its descendants.
  210.     Set *symEntryPtr = NIL.
  211. */
  212.  
  213.  
  214. #endif /* _RDT_PROCS_ */
  215.  
  216.